GNN变种：http://t.csdnimg.cn/02yrI
1. GCN（Graph Convolutional Network, 图卷积网络）     http://t.csdnimg.cn/9I9aF
    核心思想：GCN 的目标是基于图的邻接结构来学习每个节点的嵌入表示。它通过将每一层的节点特征与其邻居节点特征进行卷积操作，生成新的节点表示。卷积操作可以视为消息传递机制：节点从其邻居接收消息，并根据这些消息更新自己的表示。
    公式理解：
        消息传递：节点从其邻居节点接收信息。
        归一化：对每个节点进行归一化处理，以确保邻居节点对中心节点影响的平衡。
        线性变换：对特征进行线性变换以学习节点的特征表示。
        激活函数：对更新后的节点表示进行非线性激活，增加模型的表达能力。
    GCN 使用的损失函数通常是基于节点分类任务的交叉熵损失
    GCN 的优势
        局部平滑性：GCN 通过卷积操作，聚合节点及其邻居的特征，从而具有良好的平滑性，能够将局部相似的信息聚合起来。
        自动捕获图结构信息：GCN 的卷积操作依赖于图的结构，能够自动地从图的连接关系中学习节点的特征表示。
        简单高效：GCN 模型结构简单，只需要基于邻接矩阵进行聚合和线性变换，计算成本较低。
    GCN 的缺点与局限性
        过度平滑问题：当 GCN 层数增加时，节点的特征表示趋向于收敛到相似值，导致不同类别的节点难以区分。这种现象被称为过度平滑（over-smoothing）。
        只能处理静态图：GCN 假设图的结构是静态的，无法处理图随时间变化的动态图。
        难以处理高阶邻域信息：虽然可以通过叠加层次来捕获高阶邻居的信息，但层数的增加可能导致信息过度平滑，且计算复杂度会增加。
2. GraphSAGE（Graph Sample and Aggregate, 图采样与聚合）  http://t.csdnimg.cn/KjfA6
    GraphSAGE 通过采样邻居节点并聚合这些邻居的特征，为目标节点生成嵌入表示，而不是使用全图信息。这种方法提高了模型的扩展性，特别适用于超大规模的图。
    核心思想：
    邻居采样：对于每个节点，随机采样固定数量的邻居来进行聚合，而不是使用所有的邻居。这避免了在大图上直接对所有邻居进行计算，从而提高了效率。
    可训练的聚合函数：使用可训练的聚合函数将采样到的邻居节点的特征聚合起来，得到目标节点的嵌入。这些聚合函数可以是平均、最大池化、LSTM 等。
    GraphSAGE 的训练既可以是有监督的，也可以是无监督的。
        有监督学习：通过带标签的节点分类任务，使用交叉熵损失函数训练模型。
        无监督学习：通过负采样方法进行无监督训练。类似于 Skip-Gram，通过最大化相邻节点的相似性、最小化与随机节点的相似性来优化节点表示。

3. GAT（Graph Attention Network, 图注意力网络）  http://t.csdnimg.cn/Bj9zV
    核心思想:GAT 的关键创新是自注意力机制，即在每次聚合时，不再为所有邻居分配相同的权重，而是通过注意力机制计算每个邻居节点的重要性。
    GAT 的优势
        自适应加权聚合：GAT 通过自注意力机制对不同邻居节点分配不同的权重，使得模型能够自动选择对节点重要的邻居，从而提升节点表示的质量。
        无参数共享问题：与 GCN 不同，GAT 不需要依赖图的结构信息（如邻接矩阵），只需通过特征来学习每个邻居的权重，从而避免了固定图结构带来的局限。
        多头注意力机制：通过使用多头注意力机制，GAT 能够捕捉不同的特征模式和关系，从而增强模型的表达能力和鲁棒性。
        灵活性强：GAT 可以应用于有向图、异构图等多种类型的图结构，而 GCN 则主要针对无向图。

4. ChebNet（Chebyshev Spectral Graph Convolutional Network）
    ChebNet 通过引入切比雪夫多项式来近似谱图卷积，解决了传统图卷积方法中的计算复杂度问题，提高了模型在大规模图上的训练效率。同时，它在保持图卷积有效性的同时，允许用户通过选择多项式阶数来调整模型的复杂度。

5. SGC（Simplified Graph Convolution, 简化图卷积）
    SGC 的核心思想是将标准图卷积的复杂操作进行简化，通过以下几个方面来提高效率：
    去除非线性激活函数：传统的图卷积网络通常在每层卷积后都应用非线性激活函数（如 ReLU）。
    SGC 去除这些非线性激活函数，以简化模型的计算过程。简化卷积层：在标准的 GCN 中，图卷积操作涉及到节点特征的聚合和线性变换，然后应用激活函数。SGC 通过将多个图卷积层堆叠在一起，并将它们合并为一个大图卷积层，从而简化了计算。
    节点特征的传播：SGC 通过累积节点特征的传播（即图卷积的多层堆叠）来简化计算过程，减少了对图卷积层的重复计算。

6. DGI（Deep Graph Infomax, 深度图信息最大化）
    import 图对比学习/DGI

7. PIN（Path Integral Graph Neural Networks, 路径积分图神经网络）
    PIN 的核心思想
    PIN 旨在通过利用路径积分来建模图中节点间的复杂关系，从而改进图神经网络的表示学习能力。传统的图神经网络（如 GCN 和 GAT）主要通过节点的邻域信息进行信息传递，而 PIN 则通过考虑图中的路径信息来捕捉节点之间的高阶依赖关系。
    PIN 的工作流程
        图数据输入：输入图数据，包括节点特征和邻接矩阵。
        路径计算：计算节点对之间的所有可能路径，通常涉及到图的矩阵运算和路径传播机制。
        特征聚合：通过路径积分方法对节点特征进行加权和聚合，生成节点的表示。
        节点表示生成：通过路径积分方法得到的加权特征用于生成最终的节点表示。
        模型训练：通过标准的图神经网络训练过程来优化模型，使得节点表示能够更好地捕捉图中的结构信息。

8. GN（Graph Network，图网络）http://t.csdnimg.cn/qGZqp
    Graph Network 的核心思想
        Graph Network 通过将图神经网络的各个部分（节点更新、边更新、全图更新）进行模块化，形成一个通用的框架，使得可以灵活地设计和扩展各种图神经网络模型。Graph Network 的设计思想是将图数据的处理分解成以下几个关键部分：
        消息传递（Message Passing）：在这个阶段，每个节点通过其邻居节点传递消息，更新其特征表示。
        更新规则（Update Rule）：每个节点和边根据接收到的消息和自身的特征进行更新。
        图聚合（Graph Aggregation）：全图级别的操作，可以用来聚合节点和边的表示，生成图级别的表示。
    Graph Network 的组成部分
        消息函数（Message Function）：定义如何从邻居节点和边生成消息。
        节点更新函数（Node Update Function）：定义如何根据接收到的消息更新节点的表示。
        边更新函数（Edge Update Function）：定义如何根据接收到的消息更新边的表示（如果需要）。
        全图更新函数（Global Update Function）：在需要全图级别的表示时，定义如何将节点和边的表示聚合成全图表示。

9. GIN（Graph Isomorphism Network，图同构网络）
    GIN 的核心思想
        GIN 主要通过改进图卷积层的聚合操作来增强模型的表示能力。传统的图卷积网络（如 GCN）在节点特征聚合时使用平均或求和操作，这些操作在处理图同构时可能不够强大。GIN 通过引入一个具有更强表达能力的聚合函数，使得其能够更好地识别和区分不同的图结构。
    GIN 的主要组成部
        聚合函数（Aggregation Function）： GIN 采用了一个强大的聚合函数，该函数将节点的邻居特征和节点自身的特征结合起来。具体来说，GIN 的聚合函数包括了一个 MLP（多层感知机），用来对节点特征进行非线性变换。
        节点更新（Node Update）： 节点的更新过程通过将聚合后的邻居信息与节点自身的特征进行结合，并通过一个 MLP 层进行非线性变换来完成。这样，GIN 能够学习到更强的节点表示。
        全图表示（Global Representation）： GIN 可以通过池化操作将节点表示聚合成一个全图表示，用于图分类等任务。